package com.app.service.Impl;

import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.app.ryjy.model.GeneralDic;
import com.app.mapper.GeneralDicMapper;
import com.app.service.IGeneralDicService;
import com.app.ryjy.util.JsonFactory;
import com.app.ryjy.util.Sm2Util;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.bouncycastle.crypto.params.ECPrivateKeyParameters;
import org.bouncycastle.crypto.params.ECPublicKeyParameters;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static com.app.ryjy.util.Sm2Util.pem2PrivateKey;
import static com.app.ryjy.util.Sm2Util.pem2PublicKey;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author yoominic
 * @since 2024-10-31
 */
@Service
public class GeneralDicServiceImpl extends ServiceImpl<GeneralDicMapper, GeneralDic> implements IGeneralDicService {


    /**
     * 推送数据消息
     * @param apiCode 接口编码
     * @param channelCode 渠道编码
     * @param data 数据
     */
    public void pushDataMsg(String apiCode,String channelCode,Object data){

        //注：这个位置是放置密钥的地方，根据密钥放置的位置获取
        String privateKeyFilePath="/szkey/private.keystore";
        String publicKeyFilePath="/szkey/public.keystore";
        ECPrivateKeyParameters privateKey = null;
        ECPublicKeyParameters publicKey = null;
        try {
            privateKey =pem2PrivateKey(privateKeyFilePath);
            publicKey =pem2PublicKey(publicKeyFilePath);
        } catch (Exception e) {
            throw new RuntimeException("获取密钥失败");
        }

        String jsonData = JsonFactory.bean2json(data);
        String encrypt = null;
        try {
            encrypt = Sm2Util.encrypt(publicKey, jsonData);
        } catch (Exception e) {
            throw new RuntimeException("加密失败:"+e);
        }

        Map requestData =new HashMap<>();
        requestData.put("data",encrypt);
        requestData.put("channelCode",channelCode);
        requestData.put("apiCode",apiCode);

        //模拟请求
        String resultencrypt = HttpUtil.post("https://ggjyfw.rst.gansu.gov.cn:8443/ryjyApi/request/getData.do", requestData);
        Map resultMap = JsonFactory.json2bean(resultencrypt, Map.class);
        String result;
        try {
            if("1".equals(resultMap.get("code"))){
                result= Sm2Util.decrypt(privateKey, ((Map)resultMap.get("resultData")).get("data").toString());
            }else{
                result= Sm2Util.decrypt(privateKey, resultMap.get("message").toString());
            }
        } catch (Exception e) {
            throw new RuntimeException("解密失败:"+e);
        }
        resultMap = JSONObject.parseObject(result,Map.class);
        System.out.println(resultMap);
    }




    /**
     * 添加单位信息
     * @param enterpriseName 单位名称
     * @param erterpriseIdNum 统一社会信用代码
     * @param enterpriseNature 企业性质
     * @param enterpriseType 企业类型
     * @param regcap 注册资金
     * @param scale 单位规模
     * @param managementType 经营方式
     * @param industry 产业类别
     * @param state 单位状态
     * @param dom 注册地址
     * @param enterpriseIntroduction 单位简介
     * @param legalPersonName 法人姓名
     * @param legalPersonMobileNumber 法人手机号
     * @param legalPersonId 法人身份证号
     * @param enterpriseContacts 联系人手机号
     * @param enterpriseAddress 企业地址
     * @param businessScope 经营范围
     * @param apprdate 批准日期
     * @param keyEnterprise 是否重点用工企业
     * @param welfare 福利待遇
     * @param enterpriseLongitude 地图定位 x
     * @param enterpriseLatitude 地图定位 y
     * @param dataSources 数据来源
     */
    public void companyAdd(String enterpriseNum,String enterpriseName,String erterpriseIdNum,String enterpriseType,String regno,String regcap,String enterpriseNature,
                           String scale,String managementType,String industry,String state,String dom,String enterpriseIntroduction,
                           String legalPersonName,String legalPersonMobileNumber,String legalPersonId,String enterpriseContacts,String enterpriseAddress,
                           String businessScope,String apprdate,String keyEnterprise,String welfare,String enterpriseLongitude,String enterpriseLatitude,
                           String dataSources){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("aab001_szgj",enterpriseNum);
        paramMap.put("aab998",erterpriseIdNum);
        paramMap.put("aab004",enterpriseName);
        paramMap.put("aab007",regno);
        paramMap.put("aab019",enterpriseType);
        paramMap.put("aab022",enterpriseNature);
        paramMap.put("aab049",regcap);
        paramMap.put("aab056",scale);
        paramMap.put("aab048",managementType);
        paramMap.put("aab054",industry);
        paramMap.put("aae119",state);
        paramMap.put("aae006",enterpriseAddress);
        paramMap.put("aab092",enterpriseIntroduction);
        paramMap.put("aab013",legalPersonName);
        paramMap.put("aab015",legalPersonMobileNumber);
        paramMap.put("aab014",legalPersonId);
        paramMap.put("aae004",legalPersonName);
        paramMap.put("aae005",enterpriseContacts);
        paramMap.put("aab502",dom);
        paramMap.put("aab060",enterpriseAddress);
        paramMap.put("aab061",businessScope);
        paramMap.put("aab011",apprdate);
        paramMap.put("aab536",keyEnterprise);
        paramMap.put("yae421",state);
        paramMap.put("acb00s",welfare);
        paramMap.put("acb475",enterpriseLongitude);
        paramMap.put("acb476",enterpriseLatitude);
        paramMap.put("aab997",industry);
        paramMap.put("yae100",dataSources);

        paramList.add(paramMap);

        pushDataMsg("companyAdd", "jqs", paramList);
    }

    /**
     更新单位信息
     @param erterpriseIdNum 企业统一社会信用代码，用于唯一标识企业
     @param enterpriseName 企业名称
     @param businessLicenseNumber 工商注册号
     @param enterpriseType 企业类型
     @param managementType 经营方式
     @param regcap 注册资金
     @param enterpriseAddress 企业地址
     @param state 单位状态
     @param welfare 福利待遇
     @param businessScope 经营范围
     @param legalPerson 法人姓名
     @param legalPersonPhone 法人手机号
     @param legalPersonIdNumber 法人身份证号
     @param isKeyEnterprise 是否重点用工企业
     @param welfareTreatment 福利待遇说明
     @param longitude 地图定位 x
     @param latitude 地图定位 y
     */
    public void  companyUpdate(String enterpriseNum,String erterpriseIdNum, String enterpriseName, String businessLicenseNumber, String enterpriseType,
                               String managementType,String regcap,String enterpriseAddress,String state,String welfare,
                               String businessScope, String legalPerson,
                               String legalPersonPhone, String legalPersonIdNumber, String isKeyEnterprise,
                               String welfareTreatment, String longitude, String latitude,String dataSources){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
         paramMap.put("aab001_szgj",enterpriseNum);
         paramMap.put("aab998",erterpriseIdNum);
         paramMap.put("aab004",enterpriseName);
         paramMap.put("aab007",businessLicenseNumber);
         paramMap.put("aab019",enterpriseType);
         paramMap.put("aab022",enterpriseType);
         paramMap.put("aab049",regcap);
         paramMap.put("aab060",enterpriseAddress);
         paramMap.put("aab061",businessScope);
         paramMap.put("aab048",managementType);
         paramMap.put("aab013",legalPerson);
         paramMap.put("aab015",legalPersonPhone);
         paramMap.put("aab014",legalPersonIdNumber);
         paramMap.put("aae004",legalPersonPhone);
         paramMap.put("aae119",state);
         paramMap.put("aab536",isKeyEnterprise);
         paramMap.put("acb00s",welfare);
         paramMap.put("acb475",longitude);
         paramMap.put("acb476",latitude);
         paramMap.put("yae100",dataSources);
         paramList.add(paramMap);

         pushDataMsg("companyUpdate", "jqs", paramList);

    }


    /**
     * 禁用单位信息
     * @param erterpriseNum  单位编号
     */
    public void  companyDelete(String erterpriseNum){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("aab001_szgj",erterpriseNum);

        pushDataMsg("companyDelete", "jqs", paramList);
    }


    /**
     * 添加职位信息
     * @param postNo 职位编号
     * @param unitNumber 单位编号
     * @param isOnline 是否在线招聘
     * @param jobTitle 职位名称
     * @param jobDescription 职位描述
     * @param jobAddress 职位地址
     * @param expId 经验要求
     * @param eduId 学历要求
     * @param jobNumber 职位类别编号
     * @param minSalary 最低薪资
     * @param maxSalary 最高薪资
     * @param crtTime 创建时间
     * @param recruitState 招聘状态
     * @param endTime 结束时间
     * @param exType 工作性质
     * @param remarks 备注
     * @param hrName 人力资源姓名
     * @param hrMobile 人力资源手机号
     * @param keyword 职位关键词
     * @param dataSources 数据来源
     * @param longitude 地图定位 x
     * @param latitude 地图定位 y
     * @param nameHandlingAgency 职位名称处理机构
     * @param areacodeHandlingAgency 职位地区处理机构
     */
    public void positionAdd(String postNo,String unitNumber,String isOnline,String jobTitle,String jobDescription,String jobAddress,String expId,String eduId,
                            String jobNumber,String minSalary,String maxSalary,String crtTime,String recruitState,String endTime,String exType,String remarks,
                            String hrName,String hrMobile,String keyword,String dataSources,String longitude,String latitude,String nameHandlingAgency,String areacodeHandlingAgency){
        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("acb210_szgj",postNo);
        paramMap.put("aab001_szgj",unitNumber);
        paramMap.put("acb468",isOnline);
        paramMap.put("acb213",jobTitle);
        paramMap.put("acb216",jobDescription);
        paramMap.put("acb215",jobAddress);
        paramMap.put("acc217",expId);
        paramMap.put("aac011",eduId);
        paramMap.put("acb21g",jobNumber);
        paramMap.put("acb21h",minSalary);
        paramMap.put("acb21j",maxSalary);
        paramMap.put("aae043",crtTime);
        paramMap.put("aae044",crtTime);
        paramMap.put("aae100",recruitState);
        paramMap.put("aae045",endTime);
        paramMap.put("yae421",exType);
        paramMap.put("yae422",remarks);
        paramMap.put("acb224",hrName);
        paramMap.put("acb225",hrMobile);
        paramMap.put("acb00r",keyword);
        paramMap.put("yae100",dataSources);
        paramMap.put("acb475",longitude);
        paramMap.put("acb476",latitude);
        paramMap.put("aaf011",nameHandlingAgency);
        paramMap.put("aaf301",areacodeHandlingAgency);
        paramList.add(paramMap);

        pushDataMsg("positionAdd", "jqs", paramList);
    }


    /**
     * 更新职位信息
     * @param postNo 职位编号
     * @param unitNumber 单位编号
     * @param isOnline 是否在线招聘
     * @param jobTitle 职位名称
     * @param jobDescription 职位描述
     * @param jobAddress 职位地址
     * @param expId 经验要求
     * @param eduId 学历要求
     * @param jobNumber 职位类别编号
     * @param minSalary 最低薪资
     * @param maxSalary 最高薪资
     * @param crtTime 创建时间
     * @param recruitState 招聘状态
     * @param endTime 结束时间
     * @param exType 工作性质
     * @param remarks 备注
     * @param hrName 人力资源姓名
     * @param hrMobile 人力资源手机号
     * @param keyword 职位关键词
     * @param dataSources 数据来源
     * @param longitude 地图定位 x
     * @param latitude 地图定位 y
     * @param nameHandlingAgency 职位名称处理机构
     * @param areacodeHandlingAgency 职位地区处理机构
     */
    public void positionUpdate(String postNo,String unitNumber,String isOnline,String jobTitle,String jobDescription,String jobAddress,String expId,String eduId,
                               String jobNumber,String minSalary,String maxSalary,String crtTime,String recruitState,String endTime,String exType,String remarks,
                               String hrName,String hrMobile,String keyword,String dataSources,String longitude,String latitude,String nameHandlingAgency,String areacodeHandlingAgency){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("acb210_szgj",postNo);
        paramMap.put("aab001_szgj",unitNumber);
        paramMap.put("acb468",isOnline);
        paramMap.put("acb213",jobTitle);
        paramMap.put("acb216",jobDescription);
        paramMap.put("acb215",jobAddress);
        paramMap.put("acc217",expId);
        paramMap.put("aac011",eduId);
        paramMap.put("acb21g",jobNumber);
        paramMap.put("acb21h",minSalary);
        paramMap.put("acb21j",maxSalary);
        paramMap.put("aae043",crtTime);
        paramMap.put("aae044",crtTime);
        paramMap.put("aae100",recruitState);
        paramMap.put("aae045",endTime);
        paramMap.put("yae421",exType);
        paramMap.put("yae422",remarks);
        paramMap.put("acb224",hrName);
        paramMap.put("acb225",hrMobile);
        paramMap.put("acb00r",keyword);
        paramMap.put("yae100",dataSources);
        paramMap.put("acb475",longitude);
        paramMap.put("acb476",latitude);
        paramMap.put("aaf011",nameHandlingAgency);
        paramMap.put("aaf301",areacodeHandlingAgency);
        paramList.add(paramMap);

        pushDataMsg("positionUpdate", "jqs", paramList);
    }


    /**
     * 删除职位信息
     * @param postNo 职位编号
     */
    public void positionDelete(String postNo){
        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("acb210_szgj",postNo);

        pushDataMsg("positionDelete", "jqs", paramList);
    }


    /**
     * 添加人员信息
     * @param personNo 人员编号
     * @param realName 真实姓名
     * @param sex 性别
     * @param birthday 出生日期
     * @param transaddress 通讯地址
     * @param eml 邮箱
     * @param weChat 微信
     * @param dataSources 数据来源
     */
    public void personAdd(String personNo,String realName,String sex,String birthday,String transaddress,String eml,String weChat,String dataSources){
        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("aac001_szgj",personNo);
        paramMap.put("aac003",realName);
        paramMap.put("aac004",sex);
        paramMap.put("aac006",birthday);
        paramMap.put("aae006",transaddress);
        paramMap.put("aae015",eml);
        paramMap.put("aae461",weChat);
        paramMap.put("yae100",dataSources);
        paramList.add(paramMap);

        pushDataMsg("personAdd", "jqs", paramList);

    }


    /**
     * 添加人员信息
     * @param personNo 人员编号
     * @param realName 真实姓名
     * @param sex 性别
     * @param birthday 出生日期
     * @param transaddress 通讯地址
     * @param eml 邮箱
     * @param weChat 微信
     * @param dataSources 数据来源
     */
    public void personUpdate(String personNo,String realName,String sex,String birthday,String transaddress,String eml,String weChat,String dataSources){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("aac001_szgj",personNo);
        paramMap.put("aac003",realName);
        paramMap.put("aac004",sex);
        paramMap.put("aac006",birthday);
        paramMap.put("aae006",transaddress);
        paramMap.put("aae015",eml);
        paramMap.put("aae461",weChat);
        paramMap.put("yae100",dataSources);
        paramList.add(paramMap);

        pushDataMsg("personUpdate", "jqs", paramList);
    }


    /**
     * 删除人员信息
     * @param personNo 人员编号
     */
    public void personDelete(String personNo){

        List<Map<String,Object>> paramList = new ArrayList<>();

        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("aac001_szgj",personNo);
        paramList.add(paramMap);

        pushDataMsg("personDelete", "jqs", paramList);
    }


    /**
     * 添加招聘需求信息
     * @param biographicalNotesNo 招聘需求编号
     * @param personNo 人员编号
     * @param resumeName 简历名称
     * @param haveJobIntention 是否有求职意向
     * @param haveWorkExperience 是否有工作经验
     * @param haveEducationalBackground 是否有教育背景
     * @param career 职业
     * @param salary 期望薪资
     * @param administrativeDivisionCode 经办机构所属地区行政区划代码（数据上报）
     * @param agencyNumber 经办机构编号
     * @param agencyName 经办机构名称
     * @param jobIntentionNo 求职意向编号
     * @param dataSources 数据来源
     * @param formalWages 转正后薪资
     * @param workType  工作类型
     * @param workAddressAreaCode 工作地区行政区划代码
     * @param workExperienceNo 工作经验编号
     * @param educationExperienceNo 教育经历编号
     * @param unitName 工作单位名称
     * @param positionName 岗位名称
     * @param workTimeStart 工作时间开始
     * @param workTimeEnd 工作时间结束
     * @param timeStamp 时间戳
     */
    public void resumeAdd(String biographicalNotesNo,String personNo,String resumeName,String haveJobIntention,
                          String haveWorkExperience,String haveEducationalBackground,String career,
                          String salary,String administrativeDivisionCode,String agencyNumber,String agencyName,
                          String jobIntentionNo,String dataSources,String formalWages,String workType,String workAddressAreaCode,
                          String workExperienceNo,String educationExperienceNo,String unitName,String positionName,String workTimeStart,
                          String workTimeEnd,String timeStamp){

        List<Map<String,Object>> paramList = new ArrayList<>();

        Map<String,Object> paramMap = new HashMap<>();

        paramMap.put("acc200_szgj",biographicalNotesNo);
        paramMap.put("aac001",personNo);
        paramMap.put("acc201",resumeName);
        paramMap.put("acc202","1");
        paramMap.put("acc203","1");
        paramMap.put("acc204","1");

        paramMap.put("acc208","0");
        paramMap.put("acc20a","1");

        paramMap.put("aca111",career);
        paramMap.put("acc034",salary);

        paramMap.put("aaf301",administrativeDivisionCode);
        paramMap.put("aaf001",agencyNumber);
        paramMap.put("aaf011",agencyName);

        //有求职意向
        if (haveJobIntention != null && haveJobIntention.equals("1")){

            paramMap.put("acc210_szgj",jobIntentionNo);
            paramMap.put("aac001",personNo);
            paramMap.put("acc200",biographicalNotesNo);
            paramMap.put("acc647",dataSources);
            paramMap.put("acc034",formalWages);
            paramMap.put("acb469",workType);
            paramMap.put("aab301",workAddressAreaCode);
            paramMap.put("aae163",timeStamp);
        }

        //有工作经验
        if (haveWorkExperience != null && haveWorkExperience.equals("1")){

            paramMap.put("acc250_szgj",workExperienceNo);
            paramMap.put("aac001",personNo);
            paramMap.put("acc200",biographicalNotesNo);
            paramMap.put("aab004",unitName);
            paramMap.put("aca112",positionName);
            paramMap.put("aae030",workTimeStart);
            paramMap.put("aae031",workTimeEnd);

        }

        //有教育背景
        if (haveEducationalBackground != null && haveEducationalBackground.equals("1")){

            paramMap.put("acc260_szgj",educationExperienceNo);
            paramMap.put("aac001",personNo);

        }

        paramList.add(paramMap);

        pushDataMsg("resumeAdd", "jqs", paramList);
    }


    /**
     * 更新个人简历信息
     * @param biographicalNotesNo 招聘需求编号
     * @param personNo 人员编号
     * @param resumeName 简历名称
     * @param haveJobIntention 是否有求职意向
     * @param haveWorkExperience 是否有工作经验
     * @param haveEducationalBackground 是否有教育背景
     * @param career 职业
     * @param salary 期望薪资
     * @param administrativeDivisionCode 经办机构所属地区行政区划代码（数据上报）
     * @param agencyNumber 经办机构编号
     * @param agencyName 经办机构名称
     * @param jobIntentionNo 求职意向编号
     * @param dataSources 数据来源
     * @param formalWages 转正后薪资
     * @param workType  工作类型
     * @param workAddressAreaCode 工作地区行政区划代码
     * @param workExperienceNo 工作经验编号
     * @param educationExperienceNo 教育经历编号
     * @param unitName 工作单位名称
     * @param positionName 岗位名称
     * @param workTimeStart 工作时间开始
     * @param workTimeEnd 工作时间结束
     * @param timeStamp 时间戳
     */
    public void resumeUpdate(String biographicalNotesNo,String personNo,String resumeName,String haveJobIntention,
                             String haveWorkExperience,String haveEducationalBackground,String career,
                             String salary,String administrativeDivisionCode,String agencyNumber,String agencyName,
                             String jobIntentionNo,String dataSources,String formalWages,String workType,String workAddressAreaCode,
                             String workExperienceNo,String educationExperienceNo,String unitName,String positionName,String workTimeStart,String workTimeEnd,String timeStamp){

        List<Map<String,Object>> paramList = new ArrayList<>();

        Map<String,Object> paramMap = new HashMap<>();

        paramMap.put("acc200_szgj",biographicalNotesNo);
        paramMap.put("aac001",personNo);
        paramMap.put("acc201",resumeName);
        paramMap.put("acc202","1");
        paramMap.put("acc203","1");
        paramMap.put("acc204","1");

        paramMap.put("acc208","0");
        paramMap.put("acc20a","1");

        paramMap.put("aca111",career);
        paramMap.put("acc034",salary);

        paramMap.put("aaf301",administrativeDivisionCode);
        paramMap.put("aaf001",agencyNumber);
        paramMap.put("aaf011",agencyName);

        //有求职意向
        if (haveJobIntention != null && haveJobIntention.equals("1")){

            paramMap.put("acc210_szgj",jobIntentionNo);
            paramMap.put("aac001",personNo);
            paramMap.put("acc200",biographicalNotesNo);
            paramMap.put("acc647",dataSources);
            paramMap.put("acc034",formalWages);
            paramMap.put("acb469",workType);
            paramMap.put("aab301",workAddressAreaCode);
            paramMap.put("aae163",workExperienceNo);
            paramMap.put("aae163",timeStamp);
        }

        //有工作经验
        if (haveWorkExperience != null && haveWorkExperience.equals("1")){

            paramMap.put("acc250_szgj",workExperienceNo);
            paramMap.put("aac001",personNo);
            paramMap.put("acc200",biographicalNotesNo);
            paramMap.put("aab004",unitName);
            paramMap.put("aca112",positionName);
            paramMap.put("aae030",workTimeStart);
            paramMap.put("aae031",workTimeEnd);

        }

        //有教育背景
        if (haveEducationalBackground != null && haveEducationalBackground.equals("1")){

            paramMap.put("acc250_szgj",workExperienceNo);
            paramMap.put("aac001",personNo);

        }

        paramList.add(paramMap);

        pushDataMsg("resumeUpdate", "jqs", paramList);
    }


    /**
     * 删除简历信息
     * @param biographicalNotesNo 简历编号
     */
    public void resumeDelete(String biographicalNotesNo){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("acc200_szgj",biographicalNotesNo);

        pushDataMsg("resumeDelete", "jqs", paramList);
    }


    /**
     * 添加招聘会场地
     * @param venueNo 场地编号
     * @param venueName 场地名称
     * @param venueAddress 场地地址
     * @param contactPerson 联系人
     * @param contactPhone 联系电话
     * @param administrativeDivision 行政区划
     * @param isValid 是否有效
     * @param operator 操作人
     * @param operatingAgency 操作机构
     * @param operationDate 操作日期
     */
    public void jobSiteAdd(String venueNo,String venueName,String venueAddress,String contactPerson,String contactPhone,String administrativeDivision,
                           String isValid, String operator,String operatingAgency,String operationDate){
         List<Map<String,Object>> paramList = new ArrayList<>();
         Map<String,Object> paramMap = new HashMap<>();
         paramMap.put("acb300_szgj",venueNo);
         paramMap.put("acb301",venueName);
         paramMap.put("acb303",venueAddress);
         paramMap.put("aae004",contactPerson);
         paramMap.put("aae006",contactPhone);
         paramMap.put("aab301",administrativeDivision);
         paramMap.put("aae100",isValid);
         paramMap.put("aae011",operator);
         paramMap.put("aae017",operatingAgency);
         paramMap.put("aae036",operationDate);
         paramList.add(paramMap);

         pushDataMsg("jobSiteAdd", "jqs", paramList);
    }


    /**
     *  更新招聘会场地信息
     * @param venueNo 场地编号
     * @param venueName 场地名称
     * @param venueAddress 场地地址
     * @param contactPerson 联系人
     * @param contactPhone 联系电话
     * @param administrativeDivision 行政区划
     * @param isValid 是否有效
     * @param operator 操作人
     * @param operatingAgency 操作机构
     * @param operationDate 操作日期
     */
    public void jobSiteUpdate(String venueNo,String venueName,String venueAddress,String contactPerson,String contactPhone,String administrativeDivision,
                              String isValid, String operator,String operatingAgency,String operationDate){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("acb300_szgj",venueNo);
        paramMap.put("acb301",venueName);
        paramMap.put("acb303",venueAddress);
        paramMap.put("aae004",contactPerson);
        paramMap.put("aae006",contactPhone);
        paramMap.put("aab301",administrativeDivision);
        paramMap.put("aae100",isValid);
        paramMap.put("aae011",operator);
        paramMap.put("aae017",operatingAgency);
        paramMap.put("aae036",operationDate);
        paramList.add(paramMap);

        pushDataMsg("jobSiteUpdate", "jqs", paramList);

    }


    /**
     * 删除招聘会场地信息
     * @param venueNoList 场地编号列表
     */
    public void jobSiteDelete(List<String> venueNoList){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();
        paramMap.put("acb300_szgj",venueNoList);
        paramList.add(paramMap);

        pushDataMsg("jobSiteDelete", "jqs", paramList);
    }


    /**
     * 添加招聘会信息
     * @param fairNo  招聘会编号
     * @param title  招聘会标题
     * @param theme 主题
     * @param sceneType 场景类型
     * @param eventTimeStart 开始时间
     * @param eventTimeEnd 结束时间
     * @param venueId 场地编号
     * @param boothsNum 展位数
     * @param contacts 联系人
     * @param contactPhone 联系电话
     * @param organizer 主办单位
     * @param organizerTake 主办单位
     * @param eventIntro 招聘会简介
     * @param administrativeAreaCode 行政区划
     * @param state 状态
     * @param isPublicly 是否公开
     * @param handledBy 处理人
     * @param handledCode 处理结果
     * @param crtTime 创建时间
     * @param timeStamp 时间戳
     * @param isVipParticipation 是否参加vip
     * @param handlingAgency 处理机构
     */
    public void jobFairAdd(String fairNo,String title,String theme,String sceneType,String eventTimeStart,String eventTimeEnd,
                           String venueId,String boothsNum,String contacts,String contactPhone,String organizer,String organizerTake,String eventIntro,
                           String administrativeAreaCode,String state,String isPublicly,String handledBy,String handledCode,String crtTime,
                           String timeStamp,String isVipParticipation,String handlingAgency){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();

        paramMap.put("acb330_szgj",fairNo);
        paramMap.put("acb331",title);
        paramMap.put("acb972",theme);
        paramMap.put("acb481",sceneType);
        paramMap.put("acb333",eventTimeStart);
        paramMap.put("acb364",eventTimeEnd);
        paramMap.put("acb300",venueId);
        paramMap.put("acb473",boothsNum);
        paramMap.put("aae004",contacts);
        paramMap.put("aae005",contactPhone);
        paramMap.put("acb484",organizer);
        paramMap.put("acb485",organizerTake);
        paramMap.put("acb478",administrativeAreaCode);
        paramMap.put("aae100",state);
        paramMap.put("acb33d",isPublicly);
        paramMap.put("aae011",handledBy);
        paramMap.put("aae017",handledCode);
        paramMap.put("aae036",crtTime);
        paramMap.put("aae163",timeStamp);
        paramMap.put("acb486",isVipParticipation);
        paramMap.put("aaf011",handlingAgency);
        paramList.add(paramMap);

        pushDataMsg("jobFairAdd", "jqs", paramList);

    }

    /**
     * 添加招聘会信息
     * @param fairNo  招聘会编号
     * @param title  招聘会标题
     * @param theme 主题
     * @param sceneType 场景类型
     * @param eventTimeStart 开始时间
     * @param eventTimeEnd 结束时间
     * @param venueId 场地编号
     * @param boothsNum 展位数
     * @param contacts 联系人
     * @param contactPhone 联系电话
     * @param organizer 主办单位
     * @param organizerTake 主办单位
     * @param eventIntro 招聘会简介
     * @param administrativeAreaCode 行政区划
     * @param state 状态
     * @param isPublicly 是否公开
     * @param handledBy 处理人
     * @param handledCode 处理结果
     * @param crtTime 创建时间
     * @param timeStamp 时间戳
     * @param isVipParticipation 是否参加vip
     * @param handlingAgency 处理机构
     */
    public void jobFairUpdate(String fairNo,String title,String theme,String sceneType,String eventTimeStart,String eventTimeEnd,
                              String venueId,String boothsNum,String contacts,String contactPhone,String organizer,String organizerTake,String eventIntro,
                              String administrativeAreaCode,String state,String isPublicly,String handledBy,String handledCode,String crtTime,
                              String timeStamp,String isVipParticipation,String handlingAgency){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();

        paramMap.put("acb330_szgj",fairNo);
        paramMap.put("acb331",title);
        paramMap.put("acb972",theme);
        paramMap.put("acb481",sceneType);
        paramMap.put("acb333",eventTimeStart);
        paramMap.put("acb364",eventTimeEnd);
        paramMap.put("acb300",venueId);
        paramMap.put("acb473",boothsNum);
        paramMap.put("aae004",contacts);
        paramMap.put("aae005",contactPhone);
        paramMap.put("acb484",organizer);
        paramMap.put("acb485",organizerTake);
        paramMap.put("acb478",administrativeAreaCode);
        paramMap.put("aae100",state);
        paramMap.put("acb33d",isPublicly);
        paramMap.put("aae011",handledBy);
        paramMap.put("aae017",handledCode);
        paramMap.put("aae036",crtTime);
        paramMap.put("aae163",timeStamp);
        paramMap.put("acb486",isVipParticipation);
        paramMap.put("aaf011",handlingAgency);
        paramList.add(paramMap);

        pushDataMsg("jobFairUpdate", "jqs", paramList);

    }

    /**
     * 删除招聘会信息
     * @param fairNoList 招聘会编号列表
     */
    public void jobFairDelete(List<String> fairNoList){

        List<Map<String,Object>> paramList = new ArrayList<>();
        Map<String,Object> paramMap = new HashMap<>();

        paramMap.put("acb330_szgj",fairNoList);
        paramList.add(paramMap);

        pushDataMsg("jobFairDelete", "jqs", paramList);
    }



}
